/**
 * 此文件用作于配置全局组件
 * 1. components根目录下的.vue文件自动注册为全局组件
 * 2. 避免自动注册过多全局组件可手动挂载组件 只需要在components根目录下新建文件 即可
 * 3. 手动挂载组件需要将组件单独引入并且放入componentArray内 最后使用循环挂载
 * * */
import upperFirst from 'lodash/upperFirst' // 首字线大写
import camelCase from 'lodash/camelCase' // 驼峰命名大法

const requireComponent = require.context('@/components/common/', false, /.vue/)

// 以下是手动动挂架 common下的组件
// const componentArray = []
export default {
    install: function (Vue) {
        // 遍历 require 进来的组件并注册
        requireComponent.keys().forEach((fileName) => {
            const componentConfig = requireComponent(fileName)
            const componentName = upperFirst(camelCase(fileName.replace(/^\.\/_/, '').replace(/\.\w+$/, '')))
            // 全局注册组件
            // console.log(componentName)
            Vue.component(componentName, componentConfig.default || componentConfig)
        })
    }
};